package cn.kust.clock.mapper;

import cn.kust.clock.pojo.dto.CollectionDTO;
import cn.kust.clock.pojo.entity.Collection;
import cn.kust.clock.pojo.vo.CollectionVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author YL
 * @data 2022/7/25 19:08
 */
@Repository
public interface CollectionMapper extends BaseMapper<Collection> {

    /**
     * 根据collectionDTO确认删除条目
     * @param collectionDTO 包括 user_id type_id type status
     * @return 受影响行数
     */
    Integer updateByCollectDTO(CollectionDTO collectionDTO);

    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 包含id type typeId title
     */
    List<CollectionVO> selectClockByUserIdAndType(Long userId);

    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 包含id type typeId title
     */
    List<CollectionVO> selectTravelsByUserIdAndType(Long userId);


    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 该用户收藏打卡id列表
     */
    List<Long> selectClockIdListByUserIdAndType(Long userId);

    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 该用户收藏的游记id列表
     */
    List<Long> selectTravelsIdListByUserIdAndType(Long userId);

}
